﻿using Coldairarrow.Entity.DingReving;
using Coldairarrow.Entity.DTO;
using Coldairarrow.Entity.PB;
using Coldairarrow.IBusiness.DTO;
using Coldairarrow.Util;
using System;
using System.Collections.Generic;
using System.Threading.Tasks;

namespace Coldairarrow.Business.PB
{
    public partial interface IPB_TransportBillBusiness
    {
        Task<PageResult<PB_TransportBillDTO>> GetDataListAsync(PageInput<BilldConditionDTO> input);
        Task<List<RelevantCodeDTO>> GetRelevantCodeDataListAsync(PageInput<RelevantCodeConditionDTO> input);
        Task<PB_TransportBill> GetTheDataAsync(string id);
        Task AddDataAsync(PB_TransportBill data);
        /// <summary>
        /// 离场操作
        /// </summary>
        /// <param name="data"></param>
        /// <returns></returns>
        Task UpdateDataAsync(PB_TransportBill data);
        /// <summary>
        /// 编辑操作
        /// </summary>
        /// <param name="data"></param>
        /// <returns></returns>
        Task UpdateDataAsyncs(PB_TransportBill data);
        Task DeleteDataAsync(List<string> ids);

        /// <summary>
        /// 获取进厂离厂车辆信息
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        Task<PageResult<PB_TransportBillDTO>> GetBilDataListAsync(PageInput<ConditionDTO> input);

        /// <summary>
        /// 车辆过磅
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        Task<PageResult<PB_TransportBillDTO>> GetBilVehicleWeighingAsync(PageInput<BilldConditionDTO> input);

        Task<PB_TransportBillDTO> GetTheDataAndPB_Vehicle(string id);
        Task<PB_ChecklistDto> GetChecklist(string id);
       
        /// <summary>
        /// 获取车辆信息
        /// </summary>
        /// <param name="deptId">登录人组织Id</param>
        /// <param name="BillType">车辆类型</param>
        /// <returns></returns>
        Task<List<PB_TransportBillVehicleDTO>> GetCarInformationAsync(string deptId, string BillType);

        /// <summary>
        /// 大屏显示当日发货的车辆动态信息
        /// </summary>
        /// <param name="toTodayDays">到今天的天数。-1表示昨天。默认为0</param>
        Task<List<PB_TransportBillVehicleStateDTO>> GetTodayCarInformationAsync(int toTodayDays);
        /// <summary>
        /// 大屏显示七日发货数量
        /// </summary>
        /// <param name="toTodayDays">到今天的天数。-1表示昨天。默认为0</param>
        /// <returns></returns>
        Task<PB_TransportBill7DaySend> GetSevenDaysDeliveryAmount(int toTodayDays);
        /// <summary>
        /// 大屏显示装车监控照片
        /// </summary>
        /// <param name="toTodayDays">到今天的天数。-1表示昨天。默认为0</param>
        /// <returns>｛"value":"url"｝</returns>
        Task<List<PB_DeliveryPlanValueDTO>> GetTransportMonitor(int toTodayDays);
        /// <summary>
        /// 大屏显示30天发货省份和数量
        /// </summary>
        /// <param name="day">测试扩展天数</param>
        /// <returns></returns>
        Task<List<ScreenDisplayPieGraphDTO>> Get30DayDeliveryCity(int day);
        /// <summary>
        /// 大屏显示30天发货数量
        /// </summary>
        /// <param name="day">测试扩展天数</param>
        /// <returns>发货数量</returns>
        ScreenDisplayValueDTO Get30DayDeliveryNums(int day);
        /// <summary>
        /// 大屏显示当月发货数量
        /// </summary>
        /// <param name="Month">前第几月</param>
        /// <returns>当月发货数量</returns>
        ScreenDisplayValueDTO GetMonthDeliveryNums(int Month);
        /// <summary>
        /// 大屏显示发货城市
        /// </summary>
        /// <returns>['新乡市',[[{name: '新乡市'}, {name: '新乡市', value: 200, dataInfo: 发货总数:2000件 }], [{name: '新乡市'}, {name: '呼和浩特市', value: 100, dataInfo: 发货数:1000件 }], [{name: '新乡市'}, {name: '成都市', value: 100, dataInfo: 发货数:1000件 }]]]</returns>
        Task<List<List<object>>> GetDeliveryCity();
        /// <summary>
        /// 大屏显示全国爬架总量统计(机位)
        /// </summary>
        /// <returns>全国爬架总量统计(机位)</returns>
        ScreenDisplayBarChartDTO GetStandsNumberOrderByCity();
        /// <summary>
        /// 大屏显示发出机位总数
        /// </summary>
        /// <returns></returns>
        ScreenDisplayValueDTO GetDeliveryStandsNumber();
        /// <summary>
        /// 大屏显示当月发出机位总数
        /// </summary>
        /// <param name="Month">前第几月</param>
        /// <returns></returns>
        ScreenDisplayValueDTO GetMonthDeliveryStandsNumber(int Month);
        /// <summary>
        /// 根据车牌获取车辆信息
        /// </summary>
        /// <param name="BillId">派车单Id</param>
        /// <param name="plateno">车牌</param>
        /// <param name="deptId">登录人组织Id</param>
        /// <param name="BillType">车辆类型</param>
        /// <returns></returns>
        Task<PB_TransportBillDataDetailDTO> GetTransportBillDataAsync(string BillId, string plateno, string deptId, string BillType);

        /// <summary>
        /// 删除车辆已装车的明细
        /// </summary>
        /// <param name="data"></param>
        /// <returns></returns>
        Task DeleteBillDataDetailAsync(PB_TransportBillDetailListData data);

        /// <summary>
        /// 装车
        /// </summary>
        /// <param name="data"></param>
        /// <returns></returns>
        Task AddTransportBillDetailAsync(PB_TransportBillDetailDTO data);

        /// <summary>
        /// 装车扫描包根据备货单获取包信息
        /// </summary>
        /// <param name="PackQrCode">包二维码</param>
        /// <param name="stockupQrCode">备货单二维码</param>
        /// <param name="BillId">派车单Id</param>
        /// <returns></returns>
        Task<TranBillPackDTO> GetTranBillPackDataAsync(string PackQrCode, string stockupQrCode, string BillId);
       /// <summary>
       /// 钉钉收货扫描包信息依据装车单获取包信息
       /// </summary>
       /// <param name="PackQrCode">包二维码</param>
       /// <param name="BillId">派车单Id</param>
       /// <returns></returns>
        Task<ReceivePackDto> GetReceivePackDataAsync(string PackQrCode,string BillId);
        /// <summary>
        /// 装车扫描单个成品获取物料数量
        /// </summary>
        /// <param name="BillId">派车单Id</param>
        /// <param name="JobQrCode">单个成品二维码</param>
        /// <param name="stockupQrCode">备货单二维码</param>
        /// <returns></returns>
        Task<TranBillMaterialDTO> GetTranBillMaterialAsync(string BillId, string JobQrCode, string stockupQrCode);
        /// <summary>
        /// 钉钉验收扫描单个成品获取物料数量
        /// </summary>
        /// <param name="BillId">派车单编号</param>
        /// <param name="JobQrCode">成品码/包码</param>
        /// <returns></returns>
        Task<TranBillAcceptancelDTO> GetAcceptanceMateral(string BillId,string JobQrCode);
        /// <summary>
        /// 装车扫描单个物料
        /// </summary>
        /// <param name="BillId">车辆Id</param>
        /// <param name="qrcode">单个物料二维码</param>
        /// <param name="stockupQrCode">备货单二维码</param>
        /// <returns></returns>
        Task<PickListMaterialDTO> GetMaterialDataAsync(string BillId,string qrcode,string stockupQrCode);

        /// <summary>
        /// 完成装车
        /// </summary>
        /// <param name="billId">车id</param>
        /// <returns></returns>
        Task CompleteTransportBillAsync(string billId);

        /// <summary>
        /// 完成装车并保存装车图片
        /// </summary>
        /// <param name="data"></param>
        /// <returns></returns>
        Task SubmitBillImgsAsync(PB_TransportBillImgDTO data);

        /// <summary>
        /// 审核车辆获取车辆详细信息
        /// </summary>
        /// <param name="id">车id</param>
        /// <returns></returns>
        Task<PB_TransportBillDataDTO> GetBillDataAsync(string id);
        Task<PB_TransportBillDataDTO> GetBillDataAsyncids(string id);
        /// <summary>
        /// 车俩审核
        /// </summary>
        /// <param name="id">车Id</param>
        /// <returns></returns>
        Task SubmitBillDataAsync(string id,double Threshold);

        /// <summary>
        /// 验收获取车辆明细信息
        /// </summary>
        /// <param name="billqrcode">派车单二维码</param>
        /// <returns></returns>
        Task<PB_TransportBillDTO> GetBillListDataAsync(string billqrcode);

        /// <summary>
        /// 获取车辆对应的项目信息
        /// </summary>
        /// <param name="billqrcode">派车单二维码</param>
        /// <returns></returns>
        Task<List<BillProjectDTO>> GetBillProjectListAsync(string billqrcode);

        /// <summary>
        /// 验收卸车扫描包信息
        /// </summary>
        /// <param name="data"></param>
        /// <returns></returns>
        Task UnloadPackDataAsync(BillDetailDTO data);
        /// <summary>
        /// 验收扫描单个物料
        /// </summary>
        /// <param name="billId">派车单Id</param>
        /// <param name="qrcode">单个物料二维码</param>
        /// <returns></returns>
        Task<TransportBillDetailMaterialDTO> GetReceMaterialDataAsync(string billId, string qrcode );

        /// <summary>
        /// 现场验收明细信息
        /// </summary>
        /// <param name="billqrcode">派车单二维码</param>
        /// <param name="ProjectId">项目Id</param>
        /// <returns></returns>
        Task<PB_TransportBillDataDetailDTO> GetBillReceDetailDataAsync(string billqrcode, string ProjectId, string BudingId);

        /// <summary>
        /// 现场验收明细移除
        /// </summary>
        /// <param name="data"></param>
        /// <param name="billId">派车单Id</param>
        /// <param name="ProjectId">项目Id</param>
        /// <returns></returns>
        Task DeleteBillReceDetailDataAsync(PB_TransportBillDetailListData data, string billId, string ProjectId);

        /// <summary>
        /// 车俩验收卸车提交
        /// </summary>
        /// <param name="data"></param>
        /// <returns></returns>
        Task CheckBillDataAsync(CheckBillDTO data);
        /// <summary>
        /// 钉钉车辆验收卸车提交
        /// </summary>
        /// <param name="data"></param>
        /// <returns></returns>
        Task CheckDingBillDTO(DingBillDTO data);
        /// <summary>
        /// 车俩验收
        /// </summary>
        /// <param name="data"></param>
        /// <returns></returns>
        Task CheckBillAsync(CheckBillDTO data);

        /// <summary>
        /// 打印派车单
        /// </summary>
        /// <param name="ParentId"></param>
        /// <returns></returns>
        Task<List<PB_TransportBilllistinfo>> GetDataListInfo(string ParentId);
        Task Empty(PB_TransportBill data);
        Task Roughweight(PB_TransportBill data);

        /// <summary>
        /// 车辆毛重超载卸车获取车辆信息
        /// </summary>
        /// <param name="deptId">登录人组织Id</param>
        /// <param name="BillType">车辆类型</param>
        /// <returns></returns>
        Task<List<PB_TransportBillVehicleDTO>> GetUnloadCarInformationAsync(string deptId, string BillType);

        /// <summary>
        /// 车辆毛重超载卸车
        /// </summary>
        /// <param name="data"></param>
        /// <returns></returns>
        Task<BillUnloadDTO> UnloadTransportBillDetailAsync(PB_TransportBillDetailDTO data);

        /// <summary>
        /// 车辆毛重超载卸车扫描单个物料
        /// </summary>
        /// <param name="billId">派车单Id</param>
        /// <param name="qrcode">单个物料二维码</param>
        /// <returns></returns>
        Task<TransportBillDetailMaterialDTO> GetBillDetailMaterialDataAsync(string billId, string qrcode);

        /// <summary>
        /// 车辆毛重超载卸车移除
        /// </summary>
        /// <param name="data"></param>
        /// <returns></returns>
        Task DeleteUnloadBillDetailAsync(BillUnloadDTO data);
        /// <summary>
        /// 外协扫描装车,并且减库存
        /// </summary>
        /// <param name="data"></param>
        /// <returns></returns>
        Task AddOutTransportBillDetailAsync(PB_TransportBillDetailDTO data);
        /// <summary>
        /// 
        /// </summary>
        /// <param name="data"></param>
        /// <returns></returns>
        Task DeleteeOutTransportBillDataDetailAsync(PB_TransportBillDetailListData data);
        /// <summary>
        /// 获取车辆信息
        /// </summary>
        /// <param name="deptId"></param>
        /// <param name="billType"></param>
        /// <returns></returns>
        Task<List<PB_TransportBillVehicleDTO>> GetoutCarInformationAsync(string deptId, string billType);
        /// <summary>
        /// 卸车 xiaoli
        /// </summary>
        /// <param name="billqrcode"></param>
        /// <param name="packqrcode"></param>
        /// <returns></returns>
        Task UnloadPackDatasAsync(string billqrcode, string packqrcode);
        /// <summary>
        /// 卸车扫描成品
        /// </summary>
        /// <param name="billqrcode"></param>
        /// <param name="Jobcode"></param>
        /// <returns></returns>
        Task UnloadScanfinished(string billqrcode,string Jobcode);
        /// <summary>
        /// 根据车牌获取车辆信息
        /// </summary>
        /// <param name="plateno"></param>
        /// <param name="deptId"></param>
        /// <param name="billType"></param>
        /// <returns></returns>
        Task<PB_TransportBillDataDetailDTO> GetOutTransportBillDataAsync(string plateno, string deptId, string billType);
        /// <summary>
        /// 完成装车,并且生成出库单
        /// </summary>
        /// <param name="billId"></param>
        /// <returns></returns>
        Task CompleteOutTransportBillAsync(string billId);
        /// <summary>
        /// 外包回货装车
        /// </summary>
        /// <param name="data"></param>
        /// <returns></returns>
        Task AddBackTransportBillDetailAsync(PB_TransportBillDetailDTO data);
        /// <summary>
        /// 获取外协回货车辆信息
        /// </summary>
        /// <param name="billType"></param>
        /// <returns></returns>
        Task<List<PB_TransportBillVehicleDTO>> GetInCarInformationAsync(string billType);
        /// <summary>
        /// 根据车牌获取回货车辆信息
        /// </summary>
        /// <param name="plateno">车牌</param>
        /// <param name="BillType">车辆类型</param>
        /// <returns></returns>
        Task<PB_TransportBillDataDetailDTO> GetInTransportBillDataaAsync(string plateno, string billType);
        Task<PB_TransportBillDataDetailDTO> GetInOutTransportBillDataAsync(string plateno, string deptId, string billType);
        Task CheckBillDatasAsync(CheckBillDTO data);
       
        Task<List <ProjectReturnSelection>>GetTransportBillReturnId(string Id);


        /// <summary>
        /// 钉钉验收获取车辆明细信息
        /// </summary>
        /// <param name="billqrcode">派车单二维码</param>
        /// <returns></returns>
        Task<PB_TransportBillDTO> GetDingBillListDataAsync(string ProjectId,string billqrcode);

        /// <summary>
        /// 钉钉展示派车列表
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        Task<PageResult<DingTransportBillModel>> GetDingTransportBillModel(PageInput<DingTransportBillSearch> input);
        /// <summary>
        /// pc显示发货汇总列表
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        Task<PageResult<PB_ProjectDelivery>> GetProjectDeliveryList(PageInput<DingTransportBillSearch> input);
        Task<List<See_TransportBill>> GetSee_TransportBillList(string id);
        Task<List<See_TransportBill>> GetSee_TransportBillListDetail(string id);
        Task<int> GetThreshold(int Threshold);

        #region 备装异常

        /// <summary>
        /// 获取备装异常数据
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        Task<PageResult<PB_TransportBillDTO>> GetDataAbnormalListAsync(PageInput<BilldConditionDTO> input);

        /// <summary>
        /// 获取装车异常的明细
        /// </summary>
        /// <param name="BillId">派车单Id</param>
        /// <returns></returns>
        Task<List<TransportBillDetailAbnormal>> GetTransportBillDetailAbnormalListAsync(string BillId);

        /// <summary>
        /// 异常处理(生成出库单据)
        /// </summary>
        /// <param name="BillId">派车单Id</param>
        /// <returns></returns>
        Task ExceptionHandlingAsync(string BillId);

        #endregion

    }

    public class BilldConditionDTO
    {
        public string Keyword { get; set; }

        public string BillType { get; set; }
        public string ProjectName { get; set; }
    }

    /// <summary>
    /// 车辆毛重超载卸车扫描单个物料
    /// </summary>
    public class TransportBillDetailMaterialDTO
    {

        /// <summary>
        /// 派车id
        /// </summary>
        public string ParentId { get; set; }

        public string PackId { get; set; }

        /// <summary>
        /// 物料ID
        /// </summary>
        public string MaterialId { get; set; }

        /// <summary>
        /// 物料code
        /// </summary>
        public string Code { get; set; }

        /// <summary>
        /// 物料名称
        /// </summary>
        public string Name { get; set; }

        /// <summary>
        /// 物料规格
        /// </summary>
        public string Spec { get; set; }

        /// <summary>
        /// 数量
        /// </summary>
        public double? Nums { get; set; }
    }

    /// <summary>
    /// 车辆毛重超载卸车扫描卸车返回对象
    /// </summary>
    public class BillUnloadDTO 
    {

        /// <summary>
        /// 派车单id
        /// </summary>
        public string BillId { get; set; }

        /// <summary>
        /// 序号
        /// </summary>
        public string Id { get; set; }

        /// <summary>
        /// 包Id
        /// </summary>
        public string PackId { get; set; }

        /// <summary>
        /// 物料Id
        /// </summary>
        public string MaterialId { get; set; }

        /// <summary>
        /// 成品Id
        /// </summary>
        public string JobId { get; set; }

        /// <summary>
        /// 数量
        /// </summary>
        public Double? Nums { get; set; }

        /// <summary>
        /// 包名称
        /// </summary>
        public string PackName { get; set; }

        /// <summary>
        /// 规格
        /// </summary>
        public string MaterialSpec { get; set; }

        /// <summary>
        /// 时间
        /// </summary>
        public DateTime? CreateTime { get; set; }

        /// <summary>
        /// 清单明细id
        /// </summary>
        public string DesignDetailId { get; set; }

        /// <summary>
        /// 备货单明细Id
        /// </summary>
        public string PreparationNoteId { get; set; }

    }

    public class BillDetailDTO
    {
        /// <summary>
        /// 派车单二维码
        /// </summary>
        public string billqrcode { get; set; }

        /// <summary>
        /// 包二维码
        /// </summary>
        public string packqrcode { get; set; }

        /// <summary>
        /// 项目Id
        /// </summary>
        public string ProjectId { get; set; }

        /// <summary>
        /// 数量
        /// </summary>
        public Double? Nums { get; set; }
        public string JobQrCode { get; set; }
    }

    /// <summary>
    /// 装车扫描单个物料
    /// </summary>
    public class PickListMaterialDTO
    {

        /// <summary>
        /// 备货单Id
        /// </summary>
        public string PickMainId { get; set; }

        /// <summary>
        /// 物料Id
        /// </summary>
        public string Id { get; set; }

        /// <summary>
        /// 物料编码
        /// </summary>
        public string Code { get; set; }

        /// <summary>
        /// 物料名称
        /// </summary>
        public string Name { get; set; }

        /// <summary>
        /// 物料规格
        /// </summary>
        public string Spec { get; set; }

        /// <summary>
        /// 物料数量
        /// </summary>
        public double? Nums { get; set; }

        /// <summary>
        /// 是否备货单内已备的物料
        /// </summary>
        public Boolean? TrueOrFalse { get; set; }
    }

    /// <summary>
    /// 备货装车获取包信息
    /// </summary>
    public class TranBillPackDTO
    {
        /// <summary>
        /// 包Id
        /// </summary>
        public string PackId { get; set; }

        /// <summary>
        /// 包二维码
        /// </summary>
        public string PackQrCode { get; set; }

        /// <summary>
        /// 包名称
        /// </summary>
        public string BoxName { get; set; }

        /// <summary>
        /// 包装数量
        /// </summary>
        public double? Nums { get; set; }

        /// <summary>
        /// 是否备货单内已备的物料
        /// </summary>
        public Boolean? TrueOrFalse { get; set; }

        /// <summary>
        /// 备货单Id
        /// </summary>
        public string PickUpMainId { get; set; }

        public List<TranBillPackDetailDTO> TranBillPackDetail { get; set; }

    }
    /// <summary>
    /// 备货装车获取包明细
    /// </summary>
    public class TranBillPackDetailDTO  
    {
        /// <summary>
        /// 包Id
        /// </summary>
        public string PackId { get; set; }
        /// <summary>
        /// 物料Id
        /// </summary>
        public string MaterialId { get; set; }

        /// <summary>
        /// 物料名称
        /// </summary>
        public string MaterialName { get; set; }

        /// <summary>
        /// 物料编码
        /// </summary>
        public string MaterialCode { get; set; }

        /// <summary>
        /// 物料规格
        /// </summary>
        public string MaterialSpec { get; set; }

        /// <summary>
        /// 成品编码
        /// </summary>
        public string ProductCode { get; set; }

        /// <summary>
        /// 数量
        /// </summary>
        public double? Nums { get; set; }

        /// <summary>
        /// 未装车数量
        /// </summary>
        public double? RemainingQuantity { get; set; }
    }

    /// <summary>
    /// 装车单个成品输入数量
    /// </summary>
    public class TranBillMaterialDTO
    {
        /// <summary>
        /// 物料Id
        /// </summary>
        public string MaterialId { get; set; }

        /// <summary>
        /// 物料编码
        /// </summary>
        public string MaterialCode { get; set; }

        /// <summary>
        /// 物料名称
        /// </summary>
        public string MaterialName { get; set; }

        /// <summary>
        /// 物料规格
        /// </summary>
        public string MaterialSpec { get; set; }

        /// <summary>
        /// 包Id
        /// </summary>
        public string PackId { get; set; }

        /// <summary>
        /// 包二维码
        /// </summary>
        public string PackQrCode { get; set; }

        /// <summary>
        /// 数量
        /// </summary>
        public double? Nums { get; set; }

        /// <summary>
        /// 是否备货单内已备的物料
        /// </summary>
        public Boolean? TrueOrFalse { get; set; }

        /// <summary>
        /// 备货单Id
        /// </summary>
        public string PickUpMainId { get; set; }

        /// <summary>
        /// 未装车数量
        /// </summary>
        public double? RemainingQuantity { get; set; }
    }

    /// <summary>
    /// 钉钉收货单个成品验收数量
    /// </summary>
    public class TranBillAcceptancelDTO
    {
        /// <summary>
        /// 物料Id
        /// </summary>
        public string MaterialId { get; set; }

        /// <summary>
        /// 物料编码
        /// </summary>
        public string Code { get; set; }

        /// <summary>
        /// 物料名称
        /// </summary>
        public string Name { get; set; }

        /// <summary>
        /// 物料规格
        /// </summary>
        public string Spec { get; set; }

        /// <summary>
        /// 包Id
        /// </summary>
        public string PackId { get; set; }

        /// <summary>
        /// 包二维码
        /// </summary>
        public string PackQrCode { get; set; }

        /// <summary>
        /// 装车数量
        /// </summary>
        public double? Nums { get; set; }

        /// <summary>
        /// 未签收数量
        /// </summary>
        public Double? RemainingQuantity { get; set; }

    }


    #region 备装异常

    /// <summary>
    /// 装车异常明细
    /// </summary>
    public class TransportBillDetailAbnormal
    {
        /// <summary>
        /// 序号
        /// </summary>
        public int? RowId { get; set; }

        /// <summary>
        /// ID
        /// </summary>
        public string Id { get; set; }

        /// <summary>
        /// 包Id
        /// </summary>
        public string PackId { get; set; }

        /// <summary>
        /// 成品Id
        /// </summary>
        public string JobId { get; set; }

        /// <summary>
        /// 物料Id
        /// </summary>
        public string MaterialId { get; set; }

        /// <summary>
        /// 物料名称
        /// </summary>
        public string BoxName { get; set; }

        /// <summary>
        /// 物料编码
        /// </summary>
        public string MaterialCode { get; set; }

        /// <summary>
        /// 物料规格
        /// </summary>
        public string MaterialSpec { get; set; }

        /// <summary>
        /// 数量
        /// </summary>
        public Double? PackNums { get; set; }

        /// <summary>
        /// 是否是备货单已备物料： 0-否；1-是
        /// </summary>
        public Boolean? TrueOrFalse { get; set; }

        /// <summary>
        /// 是否处理异常：0-否；1-是
        /// </summary>
        public Boolean? IsHandle { get; set; }

        /// <summary>
        /// 是否出库0-否;1-是
        /// </summary>
        public string StockStatus { get; set; }

        /// <summary>
        /// 类型
        /// </summary>
        public string Type { get; set; }
    }

    #endregion

}